As the use of electronic devices has increased, so has the need for technical support when such devices fail to operate as desired. As used herein, technical support includes any and all activities involved with diagnosing and potentially fixing a malfunctioning device. In some contexts (e.g., a large, commercial enterprise), such technical support is provided by a staff of on-site technicians. For example, a business having a relatively large number of computer users may employ a number of technicians particularly knowledgeable about the hardware and software systems used by the business. When problems occur with the computers of individual users, technicians may be deployed to the locations of such users to provide the necessary technical support. Typically, through historical knowledge about the level of support required to support a given number of computer users, the size of the dedicated technical support staff can be adjusted to meet predicted needs. While this approach can be effective at keeping computer users functioning most efficiently, it is relatively expensive to maintain a staff of on-site, dedicated technicians. In this era of improved connectivity (given the ubiquity of public and private computer networks), the need to service computer users, including many relatively remote users, has increased. In the event that the various computer users are spread out over a large geographic area, the provision of a dedicated staff of technicians may not be feasible.
Furthermore, not all device users are affiliated with large entities having the resources to provide dedicated technical support staff. For example, it is estimated that there are approximately 1.2 billion personal computers worldwide, including 264.1 million personal computers in the United States alone. While it is possible to engage a service in which technicians make “house calls”, such service is comparatively expensive for the average home computer user. Given this, various solutions have been more recently proposed to provide remote technical support service delivered through the above-mentioned ubiquitous networks such as the Internet. For example, U.S. Patent Application Publication Nos. 2006/0277096 (in the name of Levitus), 2008/0147789 (in the name of Wing et al.), 2008/0172574 (in the name of Fisher) and 2009/0125608 (in the name of Werth et al.) describe various systems of the type generally illustrated in FIG. 1. As shown in FIG. 1, the system 100 comprises a plurality of user devices 102 that are able to communicate with a technical support controller 104 via one or more intervening networks 106, which may include public networks (such as the Internet), private networks (such as local area networks, virtual private networks, etc.) or combinations thereof. A plurality of remote technicians 108 perform the desired technical support activities for the user devices 102 as mediated by the technical support controller 104. Although the user devices 102 are often computers, other types of devices may equally benefit from such remote technical support, such as television cable set-top boxes, televisions, cellular telephones, automobiles or even more mundane devices such as kitchen appliances. The technical support controller 104 is a centralized service provided in the form, for example, of a web service that may be accessed through an appropriately configured web interface. The technical support controller 104 coordinates service requests from the user devices 102 and the deployment of the remote technicians 108 to service such requests. As illustrated, in one embodiment, the remote technicians 108a may access both the user devices 102 being serviced and the technical support controller 104 via the one or more networks 106. Alternatively, the remote technicians 108b may be directly coupled to the technical support controller 104 through proprietary connections while still servicing the user devices 102 via the network(s) 106. Because the technical support controller 104 mediates all interactions with the requesting user, the remote technician can be located virtually anywhere so long as he/she is able to communicate with the technical support controller 104. Using various remote servicing tools, the remote technicians 108 are able to interact with the user devices 102 to provide the requested technical support.
A typical model for deploying a remote technician's services is illustrated in FIG. 2. As shown therein, the remote technician is provided with a working queue 202 (usually implemented by the technical support controller) in which a number of service requests (labeled SR 1-SR N) are assigned to the remote technician. In a typical prior art system, the “depth” of a given remote technician's queue is dictated by the available service request volume and load balancing across the entire population of available remote technicians. When processing a service request, the remote technician will typically spend an initial portion of his/her time engaged with the requesting user (labeled “work”), typically gathering information about the problems being experienced by the user. Thereafter, the remote technician will typically engage in various automated/semi-automated tasks that often do not require the remote technician's complete attention. Such tasks often including remotely performing automated scans of a user device, rebooting the user device, installing software fixes on the user devices, etc. At the conclusion of these tasks, the remote technician will typically again spend time interacting directly with the requesting user to ensure that the problems have been fixed, that the customer has no further needs, etc. Thereafter, the remote technician may move to the next service request in the queue 202.
This approach of serially handling service requests, while workable, is not efficient as the remote technician often has periods of time 204a-b during which he/she is waiting on the various automated/semi-automated tasks to complete. Not only does this result in an inefficient use of the remote technician's time, this also leads to the likelihood of increased wait times for handling of the queued service requests, which in turn leads to the increased likelihood of an unsatisfactory end user experience. Thus, it would be advantageous to provide techniques that improve upon current remote technical service delivery systems.